import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home/Home.vue'

Vue.use(VueRouter)

const routes = [
  {    //配置重定向
    path: "/",
    redirect: "/home"
  },
  { //首页路由
    path: '/home',
    name: 'Home',
    component: Home,
    meta: {  //用来判断是否显示TabBar组件
      showTabBar: true
    }
  },
  { //分类路由
    path: '/category',
    name: 'Category',
    component: () => import('../views/Category/Category.vue'),  //按需引入
    meta: {  //用来判断是否显示TabBar组件
      showTabBar: true
    }
  },
  { //发现路由
    path: '/find',
    name: 'Find',
    component: () => import('../views/Find/Find.vue'),  //按需引入
    meta: {  //用来判断是否显示TabBar组件
      showTabBar: true
    }
  },
  { //购物车路由
    path: '/cart',
    name: 'Cart',
    component: () => import('../views/Cart/Cart.vue'),  //按需引入
    meta: {  //用来判断是否显示TabBar组件
      showTabBar: true
    }
  },
  { //个人中心路由
    path: '/mine',
    name: 'Mine',
    component: () => import('../views/Mine/Mine.vue'),  //按需引入
    meta: {  //用来判断是否显示TabBar组件
      showTabBar: true
    }
  },
  { //商品详情页
    path: '/detail/:goods_id',
    name: 'Detail',
    component: () => import('../views/Detail/Detail.vue')  //按需引入
  },
  { //商品搜索页
    path: '/search',
    name: 'Search',
    component: () => import('../views/Search/Search.vue'),  //按需引入
    meta: {  //用来判断是否显示TabBar组件
      showTabBar: true
    }
  },
  { //分类列表
    path: '/list/:cat_id',
    name: 'List',
    component: () => import('../views/Category/CategoryList.vue')  //按需引入
  },
  { //登录
    path: '/login',
    name: 'Login',
    component: () => import('../views/Login/Login.vue')  //按需引入
  },
]


const router = new VueRouter({
  // mode: 'hash',  hash模式 默认的路由模式，浏览器地址栏中会多一个#
  // mode: 'history',  //浏览器地址栏中没有#
  routes
})


//路由前置守卫
//拦截路由--满足某个条件是放开某个路由（执行next）
router.beforeEach((to, from, next) => {
  //如果用户没有登录--之放开登录页面
  //本地存储中看看是否有token
  //to  即将进入的而目标路由
  //from 即将离开的路由
  //next() 放行
  console.log(to);
  console.log(from);


  var token = localStorage.getItem("token")  //读取本地存储的token数据
  console.log(token);

  if (to.path == "/login") {
    next()
    return;
  }

  if (!token) return next("/login")  //如果!token成立说明没有登录，直接放行到login页面

  //说明已经登录了，直接放行
  next()

})

export default router
